1. Для стековой машины реализовать присваивание res:=a+b*c, используя не более 6 команд.
Адреса ячеек: res: 0300, a:0302, b:0304, c:0306. Коды операций: ВСТЕК 00, СЛОЖЕНИЕ 01, УМНОЖЕНИЕ 04, ИЗСТЕКА 10.

2. Как в ЭВМ определяется, что хранится в ячейке - команда или данное?

3. Выполнение команды в ЦП разбито на этапы, выполняющиеся параллельно:
Чтение команды
Дешифровка кода операции
Вычисление исполнительного адреса
Чтение операндов
Выполнение операции
Запись результата

На выполнение кажого этапа тратится 3 единицы времени. За сколько единиц времени будут выолнены следующие команды: 
mov bx,A
sub di,B[bx]
add ax,B[bx]

4. Выпишите значение регистра Bl (как знакового байта) и флагов CF, OF и SF после выполнения команд: 
mov bl,120
add bl,110

5. Напишите фрагмент программы, реализующий пересылку в двойное слово по адресу 6CABDh значения 6CABDh, используя не более 5 команд.

6. Реализуйте дальнюю процедуру ADD5, которая получает через стек параметр - абсолютный адрес ячейки памяти, значение которой процедура должна увеличить на 5. Процедура должна соблюдать стандартные соглашения о связях.

7.Напишите макроопределение с заголовком OddDouble Macro X, которая получает как фактический параметр имя переменной - байта или двойного слова (беззнакового), и реализует следующий паскалевский оператор: if odd(x) then x:=x*2; 
/позже Пильщиков сказал, что правильность входного параметра проверять не нужно/

8. Вычеркните неверные операторы:
mul 300
mov Ax,[X,Si]
JMP Ax 
and X,'X'
sub X,SP 
mov dword ptr x,1234h

upd: x dw ?

9.Напишите, какие преимущества и недостатки есть у динамической схемы загрузки модульной програмы перед статической схемой.

10. Справа выписано начало модуля, которому передаётся внешняя (знаковая) переменная Х. Выпишите фрагмент сегмента кода этого модуля, который присваивает переменной x ее значение, деленное на 19. 
include io.asm
extrn X:word